﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace StandAlone 
{
    public partial class frm_Menu : Form
    {
        public static string Nombre_Usuario;

        public frm_Menu()
        {
            InitializeComponent();
        }

        private void frm_Menu_Load(object sender, EventArgs e)
        {
            frm_Login fl = new frm_Login();
            DialogResult resultado = fl.ShowDialog();

            if (resultado == DialogResult.Cancel) //SI EL LOGIN SE CIERRA SIN LOGUEARSE, EL MENU SE CIERRA TAMBIÉN
                this.Close();
            //SI SE LOGUEA, NO HAY Q HACER NADA, EL MENÚ SIGUE ABIERTO.

            Anular_Menues();//PONE TODOS LOS MENUES EN FALSE

            Chequear_Menues_Para_Usuario(); //Chequea los menues a los que tiene acceso el usuario y
                                               // pone el enable en true;
        }

        private void Anular_Menues()
        {
            MnuStrip_Principal_Modulos_Ventas.Enabled = false;
            MnuStrip_Principal_Modulos_Estadisticas.Enabled = false;
            MnuStrip_Principal_Modulos_Articulos.Enabled = false;
            MnuStrip_Principal_Modulos_Clientes.Enabled = false;
            MnuStrip_Principal_Modulos_Marcas.Enabled = false;
            MnuStrip_Principal_Modulos_Proveedores.Enabled = false;
            MnuStrip_Principal_Modulos_Usuarios.Enabled = false;
            MnuStrip_Principal_Modulos_Facturas.Enabled = false;
        }

        private void ventasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frm_Ventas fv = new frm_Ventas();
            fv.Show();
        }

        private void cerrarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void estadísticasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start("http://proyectosprog.no-ip.org/Estadisticas.aspx");
        }

        private void clientesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frm_Clientes fc = new frm_Clientes();
            fc.Show();
        }

        private void cambiarDeUsuarioToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Hide();
            frm_Menu fm = new frm_Menu();
            fm.ShowDialog();
            this.Close();
        }
        private void Chequear_Menues_Para_Usuario()
        {
            DataSet ds = new DataSet();

            ds = Funciones.Read_DataBase("SELECT COUNT(Id_Menu) AS [Menu] FROM Usuarios_x_Menues WHERE Usr ='" + Nombre_Usuario + "' and Id_Menu = 'ME001'");
             if (ds.Tables[0].Rows[0]["Menu"].ToString() == (1).ToString())
                 MnuStrip_Principal_Modulos_Ventas.Enabled = true;
            
            ds = Funciones.Read_DataBase("SELECT COUNT(Id_Menu) AS [Menu] FROM Usuarios_x_Menues WHERE Usr ='" + Nombre_Usuario + "' and Id_Menu = 'ME002'");
             if (ds.Tables[0].Rows[0]["Menu"].ToString() == (1).ToString())
                 MnuStrip_Principal_Modulos_Estadisticas.Enabled = true;

            ds = Funciones.Read_DataBase("SELECT COUNT(Id_Menu) AS [Menu] FROM Usuarios_x_Menues WHERE Usr ='" + Nombre_Usuario + "' and Id_Menu = 'ME003'");
             if (ds.Tables[0].Rows[0]["Menu"].ToString() == (1).ToString())
                 MnuStrip_Principal_Modulos_Clientes.Enabled = true;

             ds = Funciones.Read_DataBase("SELECT COUNT(Id_Menu) AS [Menu] FROM Usuarios_x_Menues WHERE Usr ='" + Nombre_Usuario + "' and Id_Menu = 'ME004'");
             if (ds.Tables[0].Rows[0]["Menu"].ToString() == (1).ToString())
                 MnuStrip_Principal_Modulos_Facturas.Enabled = true;

             ds = Funciones.Read_DataBase("SELECT COUNT(Id_Menu) AS [Menu] FROM Usuarios_x_Menues WHERE Usr ='" + Nombre_Usuario + "' and Id_Menu = 'ME005'");
             if (ds.Tables[0].Rows[0]["Menu"].ToString() == (1).ToString())
                 MnuStrip_Principal_Modulos_Articulos.Enabled = true;

             ds = Funciones.Read_DataBase("SELECT COUNT(Id_Menu) AS [Menu] FROM Usuarios_x_Menues WHERE Usr ='" + Nombre_Usuario + "' and Id_Menu = 'ME006'");
             if (ds.Tables[0].Rows[0]["Menu"].ToString() == (1).ToString())
                 MnuStrip_Principal_Modulos_Marcas.Enabled = true;

             ds = Funciones.Read_DataBase("SELECT COUNT(Id_Menu) AS [Menu] FROM Usuarios_x_Menues WHERE Usr ='" + Nombre_Usuario + "' and Id_Menu = 'ME007'");
             if (ds.Tables[0].Rows[0]["Menu"].ToString() == (1).ToString())
                 MnuStrip_Principal_Modulos_Proveedores.Enabled = true;

             ds = Funciones.Read_DataBase("SELECT COUNT(Id_Menu) AS [Menu] FROM Usuarios_x_Menues WHERE Usr ='" + Nombre_Usuario + "' and Id_Menu = 'ME008'");
             if (ds.Tables[0].Rows[0]["Menu"].ToString() == (1).ToString())
                 MnuStrip_Principal_Modulos_Usuarios.Enabled = true;
        }

        private void facturasToolStripMenuItem_Click_1(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            ds = Funciones.Read_DataBase("SELECT  COUNT(Nro_Factura) AS Facturas FROM Facturas");
            if (ds.Tables[0].Rows[0].ItemArray[0].ToString() == (0).ToString())
            {
                MessageBox.Show("No hay facturas cargadas", "Error"
                          , MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            else
            {
                frm_Facturas.Nro_Factura = "000001";
                frm_Facturas ff = new frm_Facturas();
                ff.Show();
            }
        }

        private void MnuStrip_Principal_Modulos_Articulos_Click(object sender, EventArgs e)
        {
            frm_Articulos fa = new frm_Articulos();
            fa.Show();
        }

        private void MnuStrip_Principal_Modulos_Marcas_Click(object sender, EventArgs e)
        {
            frm_Marcas fm = new frm_Marcas();
            fm.Show();
        }

        private void MnuStrip_Principal_Modulos_Proveedores_Click(object sender, EventArgs e)
        {
            frm_Proveedores fp = new frm_Proveedores();
            fp.Show();
        }

        private void MnuStrip_Principal_Modulos_Usuarios_Click(object sender, EventArgs e)
        {
            frm_Usuarios_Menu um = new frm_Usuarios_Menu();
            um.Show();
        }
        
    }
}
